package com.open.rbac.service.id;

import java.util.List;

import org.springframework.data.domain.Page;

import com.open.rbac.model.dto.id.IdentityDto;
import com.open.rbac.model.query.IdentityQuery;
import com.open.rbac.model.vo.id.IdentityRelVo;
import com.open.rbac.model.vo.id.IdentityVo;


/**
 * Id信息
 *
 * @author Riche's
 * @since 2022/9/2
 */
public interface IdentityService {

    IdentityDto create(IdentityVo identityVo);

    IdentityDto update(IdentityVo identityVo);

    void deleteById(String id);

    void deleteByIds(List<String> ids);

    IdentityDto findById(String id);

    List<IdentityDto> findByIdNumber(String idNumber);

    void createRelIdentity(IdentityRelVo identityRelVo);

    void createOrganizations(String id, List<String> organizationIds);

    Page<IdentityDto> page(IdentityQuery query);

}
